window: Make sure we query the window size before size-allocate'ing
authorTimm Bäder <mail@baedert.org>
Fri, 20 Oct 2017 08:58:31 +0000 (10:58 +0200)
committerTimm Bäder <mail@baedert.org>
Fri, 20 Oct 2017 12:56:29 +0000 (14:56 +0200)
gtk/gtkwindow.c

index 64d9304676d27dd96e2a46e7786364fbba99adf4..c5d9c17ae35e28ef105bd0ff7dfe3734c651c187 100644 (file)
@@ -8926,6 +8926,7 @@ gtk_window_move_resize (GtkWindow *window)
   else
     {
       GtkAllocation allocation, clip;
+      GtkRequisition minsize;
 
       /* Handle any position changes.
        */
@@ -8935,13 +8936,15 @@ gtk_window_move_resize (GtkWindow *window)
                            new_request.x, new_request.y);
         }
 
+      gtk_widget_get_preferred_size (widget, &minsize, NULL);
+
       /* Our configure request didn't change size, but maybe some of
        * our child widgets have. Run a size allocate with our current
        * size to make sure that we re-layout our child widgets. */
       allocation.x = 0;
       allocation.y = 0;
-      allocation.width = current_width;
-      allocation.height = current_height;
+      allocation.width = MAX (current_width, minsize.width);
+      allocation.height = MAX (current_height, minsize.height);
 
       gtk_widget_size_allocate (widget, &allocation, -1, &clip);
     }